package com.onec.service.api.enums.error;

/**
 * 系统异常编码表
 *
 * @author ONEC
 * @see java.io.Serializable
 * @since 20200803
 */
public enum MerchantErrorEnum {

    SUCCESS("处理成功", 10000),
    EXIST_OUT_CODE("商户编号已存在", 3000),

    EXIST_ID_CARD("身份信息已存在", 3004),
    REGISTER_LIMIT("代理商下注册商户上限：", 3005),

    CITY_CODE_ERROR("省市区编码不合规", 3007),
    KBIN_ERROR_INVAILD("卡bin信息不存在", 3008),

    MERCHANT_INFO_EMPTY("商户信息不存在", 3009),
    MERCHANT_INFO_STATUS_ERROR("商户状态异常", 3010),
    MERCHANT_AGENT_INFO_ERROR("商户与机构信息不一致", 3011),

    AGENT_FEE_INFO_ERROR("机构费率异常", 3012),
    MERCHANT_FEE_INFO_ERROR("商户费率异常", 3013),
    MERCHANT_FEE_AGENT_ERROR("商户费率不可小于机构费率", 3014),

    PRODUCT_ERROR("产品名称有误", 3015),
    PRODUCT_AGENT_ERROR("机构产品未开通", 3016),
    PRODUCT_AGENT_ERROR_FAILED("机构产品不可用", 3017),
    PRODUCT_MERCHANT_ERROR_FAILED("商户业务已冻结：", 3018),
    PRODUCT_MERCHANT_ERROR_OPEN("商户业务已开通：", 3019),
    PRODUCT_MERCHANT_ERROR_OPEN_UN("商户业务异常：", 3020),

    AGENT_FEE_MAX_FEE_ERROR("超过机构最大费率：", 3021),
    PRODUCT_FEE_DOING_ERROR("费率变更处理中,稍后再试", 3022),
    PRODUCT_MERCHANT_NO_OPEN("商户业务未开通", 3023),
    MERCHANT_STATUS_DOING("商户业务处理中，稍后再试", 3024),

    MERCHANT_PRODUCT_AMOUNT_LIMIT("商户业务超过单笔交易金额限制", 3025),
    MERCHANT_DAY_AMOUNT_LIMIT("商户业务超过日交易金额限制", 3026),
    MERCHANT_MONTH_AMOUNT_LIMIT("商户业务超过月交易金额限制", 3027),
    MERCHANT_DAY_COUNT_LIMIT("商户业务超过日交易笔数限制", 3028),
    MERCHANT_MONTH_COUNT_LIMIT("商户业务超过月交易笔数限制", 3029),
    MERCHANT_PRODUCT_TRADE_NOT("当前产品暂不支持交易：", 3030),

    MERCHANT_PRODUCT_NOT_CHANNEL("当前产品无可用通道：", 3031),

    MERCHANT_EXIST_OUT_NO("订单号已存在：", 3032),
    MERCHANT_ENCRYPT_ERROR("数据加密请求异常，稍后再试：", 3033),

    ;

    private String msg;

    private Integer index;

    MerchantErrorEnum(String msg, Integer index) {
        this.msg = msg;
        this.index = index;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Integer getIndex() {
        return index;
    }

    public void setIndex(Integer index) {
        this.index = index;
    }
}
